package week01;

public class Paperboy {
    /*  迪米特法则：只直接联系
        可能变化： 客户的支付方式,支付宝支付、微信支付、现金支付,支付方式可扩展,可以选择不同的支付方式，
                客户类型
                支付作为抽象客户的基本行为，具体支付方式可以扩展
        从职责分配 具体支付是客户实现，  放在customer中更合适
     *
     */
    private Customer myCustomer = new Customer();
    //收钱
    public boolean pay(float payment) {
        boolean isPay = myCustomer.payTo(payment);
        if (isPay) {
            System.out.println(myCustomer.getFirstName()+"已付钱");
        } else {
            System.out.println(myCustomer.getFirstName()+"钱不够");
        }
        return isPay;
    }
    //给出报纸
    public void givePaper(){
        myCustomer.getPaper();
    }

    public static void main(String[] args) {
        Paperboy paperboy = new Paperboy();
        boolean isPay = paperboy.pay(10);   //初始客户有20元
        if (isPay) {
            paperboy.givePaper();
        }
    }
}
